package com.hq.door.pojo;

import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.MappedSuperclass;


/**
 * AbstractTOutRequest entity provides the base persistence definition of the TOutRequest entity. @author MyEclipse Persistence Tools
 */
@MappedSuperclass

public abstract class AbstractTOutRequest  implements java.io.Serializable {


    // Fields    

     private Integer id;
     private TTeacher TTeacher;
     private TStudent TStudent;
     private Timestamp startTime;
     private Timestamp endTime;
     private String requestReason;
     private String rejectReason;
     private Integer steacherId;
     private Integer authStatus;
     private Timestamp requestTime;
     private Timestamp authTime;
     private Integer isAgent;
     private Timestamp modifiedTime;
     private Integer modifiedBy;


    // Constructors

    /** default constructor */
    public AbstractTOutRequest() {
    }

    
    /** full constructor */
    public AbstractTOutRequest(TTeacher TTeacher, TStudent TStudent, Timestamp startTime, Timestamp endTime, String requestReason, String rejectReason, Integer steacherId, Integer authStatus, Timestamp requestTime, Timestamp authTime, Integer isAgent, Timestamp modifiedTime, Integer modifiedBy) {
        this.TTeacher = TTeacher;
        this.TStudent = TStudent;
        this.startTime = startTime;
        this.endTime = endTime;
        this.requestReason = requestReason;
        this.rejectReason = rejectReason;
        this.steacherId = steacherId;
        this.authStatus = authStatus;
        this.requestTime = requestTime;
        this.authTime = authTime;
        this.isAgent = isAgent;
        this.modifiedTime = modifiedTime;
        this.modifiedBy = modifiedBy;
    }

   
    // Property accessors
    @Id @GeneratedValue
    
    @Column(name="id", unique=true, nullable=false)

    public Integer getId() {
        return this.id;
    }
    
    public void setId(Integer id) {
        this.id = id;
    }
	@ManyToOne(fetch=FetchType.LAZY)
        @JoinColumn(name="t_t_id")

    public TTeacher getTTeacher() {
        return this.TTeacher;
    }
    
    public void setTTeacher(TTeacher TTeacher) {
        this.TTeacher = TTeacher;
    }
	@ManyToOne(fetch=FetchType.LAZY)
        @JoinColumn(name="student_id")

    public TStudent getTStudent() {
        return this.TStudent;
    }
    
    public void setTStudent(TStudent TStudent) {
        this.TStudent = TStudent;
    }
    
    @Column(name="start_time", length=19)

    public Timestamp getStartTime() {
        return this.startTime;
    }
    
    public void setStartTime(Timestamp startTime) {
        this.startTime = startTime;
    }
    
    @Column(name="end_time", length=19)

    public Timestamp getEndTime() {
        return this.endTime;
    }
    
    public void setEndTime(Timestamp endTime) {
        this.endTime = endTime;
    }
    
    @Column(name="request_reason", length=200)

    public String getRequestReason() {
        return this.requestReason;
    }
    
    public void setRequestReason(String requestReason) {
        this.requestReason = requestReason;
    }
    
    @Column(name="reject_reason", length=200)

    public String getRejectReason() {
        return this.rejectReason;
    }
    
    public void setRejectReason(String rejectReason) {
        this.rejectReason = rejectReason;
    }
    
    @Column(name="steacher_id")

    public Integer getSteacherId() {
        return this.steacherId;
    }
    
    public void setSteacherId(Integer steacherId) {
        this.steacherId = steacherId;
    }
    
    @Column(name="auth_status")

    public Integer getAuthStatus() {
        return this.authStatus;
    }
    
    public void setAuthStatus(Integer authStatus) {
        this.authStatus = authStatus;
    }
    
    @Column(name="request_time", length=19)

    public Timestamp getRequestTime() {
        return this.requestTime;
    }
    
    public void setRequestTime(Timestamp requestTime) {
        this.requestTime = requestTime;
    }
    
    @Column(name="auth_time", length=19)

    public Timestamp getAuthTime() {
        return this.authTime;
    }
    
    public void setAuthTime(Timestamp authTime) {
        this.authTime = authTime;
    }
    
    @Column(name="is_agent")

    public Integer getIsAgent() {
        return this.isAgent;
    }
    
    public void setIsAgent(Integer isAgent) {
        this.isAgent = isAgent;
    }
    
    @Column(name="modified_time", length=19)

    public Timestamp getModifiedTime() {
        return this.modifiedTime;
    }
    
    public void setModifiedTime(Timestamp modifiedTime) {
        this.modifiedTime = modifiedTime;
    }
    
    @Column(name="modified_by")

    public Integer getModifiedBy() {
        return this.modifiedBy;
    }
    
    public void setModifiedBy(Integer modifiedBy) {
        this.modifiedBy = modifiedBy;
    }
   








}